
package ch.hearc.coursJava.moo.interfaces.base;



//public class Girafe implements Afficher_I,Cloner_I
public class Girafe implements AfficherCloner_I
	{

	/*------------------------------------------------------------------*\
	|*							Constructeurs							*|
	\*------------------------------------------------------------------*/

	public Girafe(int longueurCou, SexesType sexeType)
		{
		this.longueurCou = longueurCou;
		this.sexeType = sexeType;
		}

	public Girafe(Girafe source)
		{
		this(source.longueurCou,source.sexeType);
		}

	/*------------------------------------------------------------------*\
	|*							Methodes Public							*|
	\*------------------------------------------------------------------*/

	@Override
	public String toString()
		{
		StringBuilder builder = new StringBuilder();
		builder.append("Girafe [longueurCou=");
		builder.append(this.longueurCou);
		builder.append(", sexeType=");
		builder.append(this.sexeType);
		builder.append("]");
		return builder.toString();
		}


	@Override
	public void afficher()
		{
		System.out.println(this);
		}

	@Override
	public Girafe cloneOf()
		{
		return new Girafe(this);
		}

	@Override
	public boolean isEgal(Object object)
		{

		if(object instanceof Girafe)
			{
			Girafe g2 = (Girafe)object;
			return g2.longueurCou == this.longueurCou && g2.sexeType == this.sexeType;
			}
		else
			{
			return false;
			}
		}

	/*------------------------------*\
	|*				Set				*|
	\*------------------------------*/

	public void setLonguerCou(int longueurCou)
		{
		this.longueurCou = longueurCou;
		}

	public void setSexeType(SexesType sexeType)
		{
		this.sexeType = sexeType;
		}
	/*------------------------------*\
	|*				Get				*|
	\*------------------------------*/


	public SexesType getSexeType()
		{
		return this.sexeType;
		}


	public int getLonguerCou()
		{
		return this.longueurCou;
		}

	/*------------------------------------------------------------------*\
	|*							Methodes Private						*|
	\*------------------------------------------------------------------*/




	/*------------------------------------------------------------------*\
	|*							Attributs Private						*|
	\*------------------------------------------------------------------*/
	//input/output
	private int longueurCou;
	private SexesType sexeType;
	}

